﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CQIE.TES.Model;
using CQIE.TES.WEB.USER.Models;

namespace CQIE.TES.IService
{
    public interface IEvaluaHeightService
    {
        /// <summary>
        /// 发布评教
        /// </summary>
        /// <param name="model"></param>
        /// <returns>发布结果</returns>
        bool AddEva(EvaluaHeight model);

        /// <summary>
        /// 根据角色获取评教列表
        /// </summary>
        /// <param name="role"></param>
        /// <returns></returns>
        List<EvaluaHeight> GetEvaluaHeightsByRole(ROLE_ENUM role);

        /// <summary>
        /// 获取所有评教
        /// </summary>
        /// <param name="page"></param>
        /// <param name="pageSize"></param>
        /// <param name="yearId"></param>
        /// <param name="count"></param>
        /// <param name="studyYearId"></param>
        /// <returns></returns>
        List<EvaluaHeight> GetAllEva(int page, int pageSize, out int count, int studyYearId = -1);

        /// <summary>
        /// 立即开始评教
        /// </summary>
        /// <param name="evaId"></param>
        /// <returns></returns>
        bool StartEvaNow(int evaId);

        /// <summary>
        /// 立即终止评教
        /// </summary>
        /// <param name="evaId"></param>
        /// <returns></returns>
        bool EndEvaNow(int evaId);

        /// <summary>
        /// 判断是否有评教正在进行
        /// </summary>
        /// <returns></returns>
        bool HaveEvaing();
    }
}
